﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CubaLibreBar.Model.Dados;

namespace CubaLibreBar.Win.Telas
{
    public partial class Login : Form
    {
        public Login()
        {
            InitializeComponent();
        }

        protected override void OnFormClosing(FormClosingEventArgs e)
        {
            base.OnFormClosing(e);

            Application.Exit();
        }

        private void btnEntrar_Click(object sender, EventArgs e)
        {
            ValidaLogin();
        }

        private void ValidaLogin()
        {
            Principal telaPrincipal = new Principal();

            if (!String.IsNullOrEmpty(txtUsuario.Text) && !String.IsNullOrEmpty(txtSenha.Text))
            {
                if (txtUsuario.Text.Trim().ToUpper().Equals("ADMIN"))
                {
                    if (UsuariosDAO.SenhaCorreta(txtUsuario.Text.Trim().ToUpper(), txtSenha.Text.Trim()))
                    {
                        telaPrincipal.MainMenuStrip.Items["produtosToolStripMenuItem"].Visible = true;
                        telaPrincipal.MainMenuStrip.Items["estoqueToolStripMenuItem"].Visible = true;
                        telaPrincipal.MainMenuStrip.Items["vendasToolStripMenuItem"].Visible = true;
                        telaPrincipal.MainMenuStrip.Items["relatóriosToolStripMenuItem"].Visible = true;
                        Properties.Settings.Default.Username = txtUsuario.Text.ToUpper();
                        Properties.Settings.Default.Password = txtSenha.Text;
                        Properties.Settings.Default.Save();

                        telaPrincipal.Show();
                        this.Hide();
                    }
                    else
                    {
                        lbMensagem.Text = "Senha incorreta.";
                        lbMensagem.ForeColor = Color.Red;
                        lbMensagem.Visible = true;
                    }
                }
                else if (txtUsuario.Text.Trim().ToUpper().Equals("VENDAS"))
                {
                    if (UsuariosDAO.SenhaCorreta(txtUsuario.Text.Trim().ToUpper(), txtSenha.Text.Trim()))
                    {
                        telaPrincipal.MainMenuStrip.Items["produtosToolStripMenuItem"].Visible = false;
                        telaPrincipal.MainMenuStrip.Items["estoqueToolStripMenuItem"].Visible = false;
                        telaPrincipal.MainMenuStrip.Items["vendasToolStripMenuItem"].Visible = true;
                        telaPrincipal.MainMenuStrip.Items["relatóriosToolStripMenuItem"].Visible = false;
                        Properties.Settings.Default.Username = txtUsuario.Text.ToUpper();
                        Properties.Settings.Default.Password = txtSenha.Text;
                        Properties.Settings.Default.Save();

                        telaPrincipal.Show();
                        this.Hide();
                    }
                    else
                    {
                        lbMensagem.Text = "Senha incorreta.";
                        lbMensagem.ForeColor = Color.Red;
                        lbMensagem.Visible = true;
                    }
                }
                else
                {
                    lbMensagem.Text = "Usuário não existe.";
                    lbMensagem.ForeColor = Color.Red;
                    lbMensagem.Visible = true;
                }
            }
            else
            {
                lbMensagem.Text = "Os campos são obrigatórios.";
                lbMensagem.ForeColor = Color.Red;
                lbMensagem.Visible = true;
            }
        }

        private void btnSair_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void txtSenha_KeyDown(object sender, KeyEventArgs e)
        {
            if (ApertouEnter(e.KeyCode))
            {
                ValidaLogin();
            }
        }

        private void txtUsuario_KeyDown(object sender, KeyEventArgs e)
        {
            if (ApertouEnter(e.KeyCode))
            {
                ValidaLogin();
            }
        }

        private bool ApertouEnter(Keys keys)
        {
            if (keys == Keys.Enter)
                return true;
            else
                return false;
        }
    }
}
